package com.tianda.his.modules.system.service.impl;

import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.tianda.his.modules.system.dto.DeptDto;
import com.tianda.his.modules.system.entity.SysDept;
import com.tianda.his.modules.system.service.SysDeptService;
import com.tianda.his.modules.system.mapper.SysDeptMapper;
import org.springframework.stereotype.Service;

import java.util.Objects;

/**
* @author jinken
* @description 针对表【sys_dept(部门/科室表)】的数据库操作Service实现
* @createDate 2025-09-16 09:10:54
*/
@Service
public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
    implements SysDeptService{

    @Override
    public Page<SysDept> listDeptForPage(DeptDto deptDto) {
        LambdaQueryWrapper<SysDept> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.like(StrUtil.isNotBlank(deptDto.getDeptName()), SysDept::getDeptName, deptDto.getDeptName());
        queryWrapper.eq(StrUtil.isNotBlank(deptDto.getStatus()), SysDept::getStatus, deptDto.getStatus());

        queryWrapper.ge(Objects.nonNull(deptDto.getBeginTime()),SysDept::getCreateTime, deptDto.getBeginTime());
        queryWrapper.le(Objects.nonNull(deptDto.getEndTime()),SysDept::getCreateTime, deptDto.getEndTime());

        Page<SysDept> sysDeptPage = new Page<>(deptDto.getPageNum(), deptDto.getPageSize());

        this.page(sysDeptPage, queryWrapper);

        return sysDeptPage;
    }
}




